In a vehicle equipped with an electric power steering (“EPS”) system, steering assist torque is provided by an electric motor coupled to a steering column or shaft. A steering wheel or handwheel is also typically coupled to the steering column or shaft in order for a driver to steer the vehicle. When the driver wants to travel substantially straight ahead along a linear path, the handwheel is rotated to a generally centered neutral position which does not cause a change in the direction of travel. However, due to mechanical tolerances and other factors, the handwheel may need to be rotated somewhat away from center to maintain the vehicle's heading along a substantially linear, straight-ahead path.
Under such off-center conditions, the driver may or may not need to provide any input torque in order to keep the hand-wheel at a neutral position which provides a straight direction of travel, depending on whether there is any torque coming from the steering system that tends to rotate the hand-wheel clockwise or counterclockwise. In situations where the hand-wheel must be pulled slightly in one direction to maintain a substantially straight course, the driver must exert some force to prevent the vehicle from deviating from the intended path. This phenomenon, commonly known as “steering pull”, can be caused by many factors such as, for example, camber or caster misalignment at the front end, tire properties of ply steer or conicity, air pressure differentials between left and right tires, road surfaces that are not level, crowned pavement, and prevailing wind.
U.S. Publication No. US2005/0182542 describes an electric power steering pull compensation procedure which measures the difference in handwheel angle between the current handwheel angle and what was determined to be a straight-ahead handwheel position using measurements of the handwheel angle acquired over time. The measured difference is provided to an integrator to update a learned long-term correction value towards the currently measured handwheel angle. The long-term correction value is stored in an electronic memory device. A second integrator computes a short-term correction value based on the difference between the current handwheel angle and the stored long-term correction value. The short-term correction value may be reset to an initial value in response to driving conditions such as the steering angle, the speed at which the steering angle changes, and the speed of the vehicle. For example, the speed at which the steering angle changes will increase as the vehicle is driven around a curve. The acquisition of short-term and long-term correction values may be enabled, as well as disabled, in response to one or more of the aforementioned driving conditions. The long-term and short-term correction values are turned into torque commands for an electric motor. As a practical matter, the actual handwheel angle may not be reduced to zero in the presence of steering pull. Since a non-zero angle is required to maintain a straight-ahead course heading, this procedure essentially provides open-loop pull compensation based upon measured angle differences.
The steering pull compensation procedure disclosed in US2005/0182542 presents many inherent limitations and shortcomings. Not infrequently, a straight-ahead course heading may be achieved at a non-zero handwheel angle, but with zero torque being applied to the handwheel. For example, even though wheel caster and camber are properly aligned, with all tires properly inflated, the handwheel might not be accurately centered on its shaft. Under these conditions, the procedure of US2005/0182542 measures an angle error and attempts to compensate for the error by applying torque commands to the electric motor. This applied compensation is incorrect, causing the driver to feel a pull at the handwheel.
Another type of driving behavior that occurs from time to time is a driver momentarily taking their hands off the handwheel, resulting in a zero torque condition at the handwheel where, nonetheless, the car may drift outside its lane. The procedure of US2005/0182542 will acquire potentially misleading data during this zero-torque condition and apply this data to the long-term correction value, resulting in incorrect torque commands being applied to the motor. Erroneous or misleading data may also be acquired while a temporary or transient condition exists, such as a change in vehicle loading, localized irregularities in a road surface, wind gusts, or the like. Accordingly, what is needed is an improved technique which accurately and reliably compensates for steering pull across a wide range of real-world conditions.